Feeder monitor and feeder monitoring network

ABSTRACT

An animal feeder has a hopper for storing pieces of food. The bottom of the hopper has an opening accessible by an animal. The opening is smaller than a piece of food, but large enough for the animal to gnaw the food through the opening. The hopper has a surface adjacent the opening, to receive fallen gnawed food and hold the fallen gnawed food in a position accessible by the animal for eating. The hopper engages a mounting bracket. The bracket is directly attachable to the animal&#39;s cage. The bracket has a lip which partially covers the receiving surface of the hopper to physically limit the animal from leaning on the hopper and to prevent the hopper from tipping back so far that it falls off the conical mount. A conical bottom surface is attached to the hopper. The conical bottom surface seats on a conical mount. The conical mount transmits a downward force from the conical bottom surface to a sensor, but does not transmit an upward force or moment to the sensor. The average weight of the hopper and the variance or standard deviation of the sensor output signal are calculated by an embedded processor, based on the output of the sensor. The beginning and end of a feeding are determined based on the standard deviation. The amount of the food consumed by the animal during the feeding is calculated. Each feeder has a respective gate. The animal can access food when the gate is open, but not when the gate is closed. A plurality of actuators automatically open and close each gate in response to control signals. A plurality of animals, each in an individual cage with a separate hopper, are simultaneously monitored and data are periodically accessed by a host computer.

FIELD OF THE INVENTION

[0001] The present invention is related to the field of systems forfeeding and monitoring laboratory animals.

DESCRIPTION OF THE RELATED ART

[0002] Most biological values measured in laboratory animals respond toqualitative and quantitative variations in food intake. Therefore,methods to assess and vary food quality and quantity are important toall biological researchers, especially to nutrition biologists.

[0003] Techniques to assay and change the nutrient quality of lab animalfeeds are well established and practiced; however, current methods tomeasure food intake and feed restrict lab animals are limited and crude.

[0004] The common method for measuring food intake of laboratory animalsis manual. By this method, a technician loads food into a hopper andweighs the food and hopper at a beginning time. At the end of aninterval, the technician again weighs the food and hopper. Food removedover this period is calculated by the difference in weight. Becauseexisting food hoppers are not spill proof, food removed does notnecessarily equal food consumed, and correction must be made for foodremoved but not eaten. Often, removed food falls to the tray where fecesand urine collect. To determine how much food was spilled, thetechnician must meticulously separate the food from solid waste, weighthe spilled food and estimate a correction factor to compensate for theamount of urine that has been absorbed by the dry food.

[0005] Thus, this manual method is limited by how often the techniciancan perform these activities. Also, because these activities requirehandling of food and (usually) the animal, they are likely to disturbthe animal's feeding behavior, often starting meals of resting animals,or stopping meals of feeding animals. Because of these factors, foodintake measurements are usually performed only once or twice weekly, orat most, once or twice daily. Thus, not only are food intake datainaccurate, they also do not allow resolution of 24 hour, diurnal,patterns of food intake.

[0006] Two types of partly automated food intake monitoring systemsexist. Both require moving animals to specialty housing. In the first,food cups are placed on standard electronic balances, and animals eatfrom these cups through holes in the bottom of their cage. The grossweight of the food cup is recorded at specified intervals. Theseweighings can be made often and without disturbing the animals. However,like the manual method, this method does not prevent spillage of food,or fouling of food with urine and feces, thus measuring false increasesand decreases in food intake. In addition separating food intake datafrom the recorded weighings is complicated by the possibility thatweighings are changed by the animal touching the food cup at the momentof recording.

[0007] In the second method, food is provided as tablets of knownweight. Tablets are dispensed when an animal “requests” them by learnedbehavior such as bar pressing, or by feedback when a tablet receptacleis determined to be empty following removal of the last tablet by theanimal. Food intake is determined from the number of tablets dispensed.As previously, this method does not limit food spillage. Also, it cannot differentiate between food intake and simple food hoarding. Also,the animal's diet is limited to materials that can be tableted, thusintake of high fat foods, which can not be tableted, can not be measuredby this method.

[0008] The above methods determine food intake of animals presented foodwhen unrestricted by time or amount, that is, when allowed ad libitumaccess to food. However, biologists often want to restrict food intakeby amount or time or both. Meal feeding access is limitation of foodintake by time alone. Manually, meal feeding is accomplished by simplepresentation or removal of food following a schedule. Like the methodsdescribed above, meal feeding is laborious, and the presence of thetechnician may again introduce changes in behavior.

[0009] To restrict food by amount, technicians weigh daily amounts offood less than what the animal would consume ad libitum and offer it tothe animal once a day. Animals thus restricted, usually consume thesmaller amount of food quickly and then fast for the time remaining tillthe next feeding. This virtual meal feeding complicates the effects offood restriction This effect can be minimized by splitting therestricted amount into several feedings per day. But this introducesmore technician labor and interference with animals behavior.

SUMMARY OF THE INVENTION

[0010] To date, no system exists to control gate opening and closing notsimply by time, but by time and amount, thus allowing access to food ata prescribed time for a prescribed time period or until a prescribedamount of food is consumed.

[0011] Our patent describes a system consisting of: (1) a spill prooffood hopper, which does not limit or interfere with the natural foodintake of ad libitum fed animals; (2) a hardware and software system tocontinuously monitor the weight of this hopper, detecting and recordingthe time, duration and amount of each meal; (3) a gate system torestrict food intake by time, amount, or both; and (4) a means to dothis for one, tens or hundreds of animals coincidentally.

[0012] One aspect of the present invention is an animal feeder,comprising a hopper for storing pieces of food. A bottom portion of thehopper has a first opening which is accessible by an animal. The firstopening is smaller than one of the pieces of food, but large enough forthe animal to gnaw the food through the first opening. The hopper has areceiving surface adjacent to the first opening. The receiving surfaceis positioned to receive fallen gnawed food and hold the fallen gnawedfood in a position accessible by the animal for eating. The hopper isseated on a mounting bracket. The mounting bracket is directlyattachable to a container in which the animal is housed.

[0013] Another aspect of the invention is a bottom mounting surfaceattached to the hopper.

[0014] The bottom mounting surface is removably seated on aself-centering mount. The self-centering mount allows freedom ofmovement and freedom of rotation by the hopper within a set ofpredetermined limits. The bottom mounting surface returns to a centeredposition after a movement or rotation, by operation of gravity.

[0015] Another aspect of the invention is a self-centering mount thattransmits a downward force from the hopper to a measuring device. Theself-centering mount does not transmit an upward force or moment fromthe hopper to the measuring device.

[0016] Another aspect of the invention is a system, method and computerprogram for calculating an amount of food consumed by an animal. A forceapplied to a food hopper is measured, and an output signal representingthe force is provided. An average weight of the hopper is calculatedbased on the output signal, and a statistical measure of the outputsignal other than the average weight is calculated. A beginning and anend of a feeding are identified based on the statistical measure. Anamount of the food consumed by the animal during the feeding iscalculated based on the average weight before the beginning of thefeeding and the average weight after the end of the feeding.

[0017] Still another aspect of the invention is a system for controllingfeeding of a plurality of animals, comprising a plurality of animalfeeders. Each feeder has a respective gate. Each gate has an openposition and a closed position, such that a respective animal can accessfood from a respective feeder when the gate of that feeder is open, andthe respective animal cannot access food from a respective feeder whenthe gate of that feeder is closed. A processor having an embedded CPUdetermines an amount of food removed from each respective feeder by therespective animal that has access to that feeder. A plurality ofactuators automatically open and close each gate in response to controlsignals. The processor has means for receiving a signal indicating thateither a first operating mode, a second operating mode, or a thirdoperating mode is selected. The processor generates and transmits thecontrol signals to each of the plurality of actuators so as to provideaccess to each animal for a common length of time, if the firstoperating mode is selected. The processor generates and transmits thecontrol signals to each of the plurality of actuators so as to providefood access to each animal until a common amount of food is removed fromeach feeder, if the second operating mode is selected. The processorgenerates and transmits the control signals to each of the plurality ofactuators so as to provide food access to each animal until either acommon length of time passes or a common amount of food is removed fromeach feeder, whichever occurs first, if the third operating mode isselected.

[0018] Another aspect of the invention is an animal monitoring systemcomprising a plurality of cage controllers. Each cage controller has arespective processor and a storage device coupled to the processor. Eachcage controller receives and stores sensor data from a sensor thatcollects sensor data from a respective animal specimen. Each cagecontroller calculates statistics from the sensor data. Each of theplurality of cage controllers is coupled to a local host computer. Thelocal host computer is capable of issuing commands to each of the cagecontrollers to control collection of the sensor data.

[0019] These and other aspects of the invention are described below withreference to the exemplary embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

[0020]FIG. 1 is an isometric view of an animal cage with an exemplaryfeeder in accordance with the present invention attached thereto.

[0021]FIG. 2 is an exploded isometric view of the feeder and mountingbracket shown in FIG. 1.

[0022]FIG. 3 is a partial cut-away isometric view of the hopper shown inFIG. 1.

[0023]FIG. 4 is a front isometric view of the mounting bracket shown inFIG. 1.

[0024]FIG. 5 is a rear isometric view of the mounting bracket of FIG. 4.

[0025]FIG. 6 is an exploded isometric view of the load cell assemblyshown in FIG. 1.

[0026]FIG. 7 is a block diagram of an exemplary controller formonitoring and controlling the feeder shown in FIG. 1.

[0027]FIGS. 8A and 8B are flow chart diagrams showing the monitoringalgorithm for measuring feeding time and food consumed using the feedershown in FIG. 1.

[0028]FIG. 9 is an exemplary signal trace showing the output signal ofthe load cell shown in FIG. 6.

[0029]FIG. 10 is a block diagram showing a feeder cluster, whichincludes a plurality of animal feeders (such as the feeders as shown inFIG. 1), and a plurality of controllers (such as the controllers shownin FIG. 7).

[0030]FIG. 11 shows a system for monitoring and controlling a pluralityof the feeder clusters shown in FIG. 10.

[0031]FIG. 12 shows a network architecture for monitoring andcontrolling the plurality of feeder clusters shown in FIG. 11.

[0032]FIG. 13 is a data flow diagram showing message primitives used inthe network of FIGS. 11 and 12.

[0033]FIG. 14 is a diagram showing a variation of the mounting bracketof FIG. 4, including an electrically controlled gate.

[0034]FIG. 15 is a partial cross section of the self-centeringapproximately conical mount shown in FIG. 2.

[0035]FIG. 16 is a flow chart diagram showing three methods ofcontrolling feeding times through gate openings and closings.

[0036] FIGS. 17A-17C show a variation of the food hopper of FIG. 2. FIG.17A is a cutaway right side elevation view of the hopper with the rightside wall removed. FIG. 17B is a cutaway front isometric view of hopperwith the front panel removed. FIG. 17C is a front isometric view ofhopper.

INTRODUCTION

[0037] FIGS. 1-6 show a feeder monitoring system 100 that can measuremoment to moment feeding behavior of one, ten, or hundreds of labanimals 101 continuously and simultaneously.

[0038] The system 100 includes an intake food hopper 110 which isconnected to a weight monitor or load cell 150. One or more of theseunits 100 is mounted to a standard laboratory animal housing system 102.The multiple units 100 are individually addressed and serially connectedto each other and to a host computer 1102 (FIG. 11). A single, intuitiveapplication on the host computer 1102 permits the user to: set upindividual or group feeding protocols; automatically collect and storedata in spread sheet or data base files; evaluate data using the systemmeal vector analysis hardware/software; and generally monitor, controland analyze the food intake sensors 153 (FIG. 6). Other sensors may alsobe connected to the host computer 1102 to monitor and control a varietyof environmental stimuli such as relative humidity, temperature, light,noise, etc. and record their effects on animal feeding behavior.

[0039] The system can automatically measure and record the animal'sactivity or rest behavior signature, its body weight, breathing rate,and heart rate, as well. Finally, one, ten or hundreds of host computers1102 running the monitoring application may be networked together.

[0040] A system 100 according to the invention provides an automated,unattended, spill proof operating system for continuously monitoring andrestricting food intake of laboratory animals 101.

[0041] There are many types of feeding regimens. Feeding “ad libitum” isdefined as “feeding at will or as desired, without being limited by timeor amount of food”. Conversely, “restrictive feeding” is defined as“limiting animal feeding by time, amount of food, or both”. The BioDAQSystem 100 is an automatic, unattended laboratory animal food intakemonitoring system that can monitor any feeding regimen, whether it be adlibitum or restricted. Also, it can automatically measure and record theanimal's body weight, as well as record and control room temperature,humidity, lighting, noise and any other environmental stimulus abiologist cares to introduce.

[0042] This system can be adapted to most lab animals including rats,mice, gerbils, hamsters, guinea pigs, rabbits, ferrets, dogs, poultry,and others. It can be loaded with standard or custom feeds in differentforms including powders, pellets or liquids with various proteins, fats,carbohydrates, vitamins, minerals, medications or other additives. Thesturdy, autoclavable food hopper 110 (with weight sensor 150) adapts tostandard lab animal cages 102, with one or more hoppers mounted to eachcage. The weight sensor analog output signal is converted to a digitaldata stream and then statistically interpreted by the systemhardware/software into meal vectors. Each meal vector consists of thetime the meal begins (Tstart), the duration of the meal (Tend-Tstart),and the amount of food consumed (B1-M). In the exemplary embodiment, thesoftware calculates the mean and standard deviation of the consecutivedata stream and then interprets changes in these values to establishthese accurate meal vectors.

[0043] Species-specific hoppers may be designed to allow 100% freeaccess to food while eliminating food spillage, food hoarding, andpreventing food contamination with urine or feces. This guarantees thatall food 103 removed from the hopper 110 is eaten by the animal 101. A“species-specific” design means that the hopper design is tailored tothe animal's anatomy and eating behavior. For each animal, thedimensions of the slots 102 and 103 are chosen to accommodate the sizeof that animal, so that food can be gnawed, but whole pellets 103 cannotbe removed.

[0044] The system described herein has many possible variants andalternate configurations which can readily be constructed by one ofordinary skill in the art without any undue experimentation. The systemprovides a laboratory animal food intake monitoring system having atleast one food hopper, which is mountable to standard laboratory animalcages.

[0045] Preferably, the food hopper design is spill proof, and preventsan animal from hoarding food in its bedding. Preferably, hopper 110further prevents food contamination by animal urine or feces.Preferably, the food hopper design does not introduce changes to“normal” animal feeding behavior compared to traditional feeders.Preferably, the system automatically monitors granular, powdered as wellas pelletized food.

[0046] Preferably, the hopper assembly includes a load cell 153 thatelectronically monitors animal feeding activity. Preferably, the loadcell mounting interface prevents transmission of torsional loads,moments and “negative direction” or tensile loads to the load cell,which minimizes “toggle” error. Preferably, the hopper 110 has arestrictive area 114 within which the animal can gnaw at the food 103and the dynamic mounting of the hopper 110 to the load cell 153, havingthe added benefit of jarring the food while the animal eats, whichprevents the food from damming up or getting stuck in the hopper.Sensors 153 such as force balance sensors, silicon strain gage sensors,capacitance sensors, quartz sensors, pressure sensors, pressuretransducers, bonded strain gage load cells and other technology sensorsmaybe used to measure change in weight or mass.

[0047] Preferably, the monitoring by the load cell 153 is continuous,programmable and automatic. Preferably, the food intake monitoringsystem continuously monitors the eating behavior of a laboratory animal.The frequency of monitoring may be programmable by a user defined inputvalue. Preferably, the system allows automatic, unattended monitoring ofeating behavior of animal. Standard deviation, variance, first or secondderivative, or other statistical parameters may be used to establish achange in behavior of an animal such as the beginning or end of a meal,the end of a rest period, an animal getting up to walk, etc. Preferably,a battery operated microcontroller 701 controls data collection deviceswhich can operate with no external power.

[0048] Optionally, a system according to the invention may have anelectronically controlled access gate 170. The controls 700 for theaccess gate 170 may be programmed to restrict the feeding of individualanimals or to restrict the feeding of one animal relative to another.The controls may automatically open or close food hopper gate 170 andrestrict an animal's food intake by amount, time period of feeding orboth. The system may automatically compare two animals (pair feeding)and match their food intake by amount, time or both. Distributed logicmay be used to allow distributed control of access to food, water,medications, etc.(at the cage level). A computer based system may beused to control food access by time of day, meal length, meal size,cumulative food intake from some previous point in time or consumptionparameters, or other user defined variables. The system may use othernon-time or food defined inputs such as light, animal activity, noise,temperature, etc. to limit or control access to food. The gate may beused to prevent the animal from getting access to its food based on asignal from the system, either remotely or locally.

[0049] The system can handle monitoring of many cages 102simultaneously. Each cage 102 may have one or more hoppers 110 mountedto it; multiple hoppers 110 in a single cage 102 can accommodate andmonitor the consumption of different types and forms of food and liquid.

[0050] Individually addressable processors for each respective cage mayuse other techniques such as IP addresses, hard-wired cages (separatewire to each cage), “smart sensors which are individually addressable”and other networkable techniques. A group of individual sensors 153and/or animal cages with one or more sensors may be connected to acomputer with a digital communications protocol such as RS232, RS485,Hart1., etc. Further, wireless communication may be used to transmitdata from an individual cage (sensor 153 or group of sensors) to acentral data collection point, which can be a computer 1102 or adistributed data collector, which in turn communicates with a computer:this second connection being either wired or wireless.

GLOSSARY

[0051] 1. “BioDAQ Food Intake Monitoring System” refers to the entiresystem, software and hardware together.

[0052] 2. “Intake Food Hopper” is the food-containing hopper.

[0053] 3. “Mounting Bracket” is the sheet metal base which mounts on theanimal container (which may be a cage) and holds the Intake Food Hopper.

[0054] 4. “Load Cell Assembly” is the combination of the load cell, theload cell enclosure, and the Conical Mount upon which the food hoppersits.

[0055] 5. “CageDAQ Module” is the microcontroller/Analog-to DigitalConverter (ADC) box which is a “node” on the CageNet (see below). In thecontext of the CageNet network, it is a slave device, “speaking onlywhen spoken to”.

[0056] 6. “Cage Cluster” is an aggregation of animal cages (for example,12 cages) with 1 or more associated Intake Food Hoppers, MountingBracket, Load Cell assemblies and CageDAQs per cage.

[0057] 7. “CageNet” is a series of Cage Clusters networked together andcontrolled by a “host” (see below). In the example, each Cage Clusterhas its own power supply and is optically isolated from the next; thus,the number of nodes on a CageNet is limited only by the logicaladdressing scheme used by the CageDAQ software. It is a simple, robust,proprietary network which is separate from a facility's intranet, localarea network (LAN), wide area network (WAN) or the Internet. The sharingof data and control signals between CageNets is accomplished at theuser's discretion by Host Networking.

[0058] 8. “Cage Cluster Interface Module” is the module associated withevery Cage Cluster. It provides power for all CageDAQs in the cluster,plus an opto-isolated network interface to the previous and next CageCluster (or to the Host). It is not a network node itself, having nonetwork address.

[0059] 9. “BioDAQ Host Computer” is the computer that runs the “FoodIntake Monitor” application and collects data from the CageDAQ nodes onthe CageNet. In the context of the CageNet network, it is the masterdevice and initiates all data transfer over the CageNet.

[0060] 10. “BioDAQ Food Intake Monitor” is the name of the Labviewapplication on the host computer.

[0061] 11. “BioDAQ CageDAQ Program” is the firmware in the CageDAQ 700.

[0062] 12. “Conical Mount” is a spring-loaded post that supports thefood hopper. Its function is to transfer the dynamic weight of the foodhopper and its contents to the load cell.

[0063] 13. “BioDAQ Host Application” is the application running on theHost Computer. This includes, but is not be limited to, “BioDAQ FoodIntake Monitor Program”, which may run under Windows 95.

[0064] 14. “Message Primitives” are the messages passed between the HostComputer and the CageDAQ 700, and are the building blocks of all CageNetcommunication. These primitives may also be passed from one HostComputer to another, encapsulated in network packets.

[0065] 15. “Host-Level Message” is another type of message passedbetween BioDAQ Host Applications over the network, but it containshigher level content and does not address any CageDAQs.

DETAILED DESCRIPTION

[0066]FIG. 1 shows a standard cage 102, housing animal specimen 101.Specimen 101 is presented with food 103, in food hopper 110. Hopper 110is mounted on load cell assembly 150, and is attached to cage mount 130.FIG. 2 shows a rear exploded view of assembly 100 detached from the cage102.

[0067]FIG. 3 is a front isometric view of the hopper 110. Hopper 110 isformed with a front panel 111, a sloped rear panel 121, two side panels120, and a bottom panel 122. Front panel 111 has slots 112 and 113.Front panel 111 is recessed, so that a hollow having a receiving surface114 is formed from bottom panel 122, front lip 115 and rear lip 116.Rear panel 121 slopes from top to bottom toward front panel 111, leavinga groove 118. Groove 118 is formed by the bottom 122 and lip 116 and119. Lip 115 is fitted with bumpers 117. A bottom mounting surface 123is attached to the bottom of hopper 110.

[0068]FIGS. 4 and 5 show the mounting bracket 130. Mounting bracket 130is formed with a front panel 132, a rear panel 138, side panels 136 anda bottom panel 135. Front panel 132 has an opening 131 and a lip 133.Capture screws 137 pass through rear panel 138. Bottom panel 135 has ahole 134, holes 139, and a slot 140.

[0069] Although the exemplary mounting bracket 130 is adapted to fit astandard cage 102, one of ordinary skill can readily modify the frontface of mounting bracket 130 to fit non-standard animal containers (notshown).

[0070]FIG. 6 shows the load cell assembly 150. A box 151 (which may beformed from aluminum, for example) encloses the load cell assembly. Ablock 152 (which also may be aluminum) is mounted in box 151. Load cell153 is mounted to block 152. A further block 157 (which may also bealuminum) is mounted to the other end of load cell 153. A blind hole 158is formed in aluminum block 157. Over-load mount 155 is also mounted toaluminum box 152. A hole 159 in box 151 lines up with a blind hole 158.

[0071]FIG. 15 shows a self-centering mount 160, which may beapproximately conical. Conical mount 160 passes through hole 159 andseats in blind hole 158. The self-centering mount 160 is fitted with aspring plunger 161. The exemplary self-centering mount 160 may be a fullcone or a truncated cone. Other self-centering shapes may also be used,to long as they do not transmit an upward force or moment to the loadcell 153, as described below.

[0072] It is also contemplated that other self-centering mountingsurfaces may be used, such as a pyramid, a truncated pyramid with atrapezoidal cross section, a spider mount, a paraboloid or ahyperboloid. The self-centering mount 160 is hereinafter referred to as“conical mount”.

Dynamic Mounting of Food Hopper

[0073] In the exemplary configuration, mounting bracket 130 is attachedto cage 102, and load cell assembly 150 is attached by screws tomounting bracket 130. Approximately conical mount 160 passes throughcage mount hole 134 and aluminum box hole 159. Approximately conicalmount 160 seats in blind hole 158 of aluminum block 157, and is attachedto load cell 153.

[0074] Several days supply of pelletized food 103 may be placed in foodhopper 110. Filled food hopper 110 is mounted on cage 102 by placinghopper mount 123 on approximately conical mount 160, such that foodhopper front lip 115 is under, but not touching, mounting bracket lip133. Capture screws 137 are inserted through cage mount rear panel 138and above food hopper bottom panel 122.

[0075] When installed food hopper 110 comes to rest, all of its weightis transferred down through conical mount 160, onto the free end of loadcell 153. Except for possible light touches between food hopper bumpers117 and cage mount 130, all of the weight of food hopper 110 istransmitted to the free end of load cell 153.

[0076] Reference is again made to FIG. 15. The bottom mounting surface123 of the hopper 110 is shown in cross section in its rest state. Thebottom mounting surface 123 is also shown in phantom in a position itmay assume when disturbed. Food hopper 110 may be disturbed when animalspecimen 101 is feeding, or when a technician is servicing the hopper110. When disturbed front to back, side to side, or upwards, food hopper110 simply rides free of the conical mount 160. When the disturbance isfinished, the configurations of food hopper mount 123 and conical mount160 allow food hopper 110 to return to its original centered, uprightposition by the action of gravity, with all its weight once againapplied against load cell 153.

[0077] Reference is again made to FIGS. 1-6. The lip 133 of bracket 130provides a surface that is shaped so as to provide a surface on whichthe specimen 101 can rest or lean without disturbing hopper 110. Duringa disturbance, a projecting body (for example, cage mount lip 133 abovefood hopper front lip 115) and one or more stops (such as cage mountcapture screws 137 above food hopper bottom panel 122) prevent foodhopper 110 from falling completely off conical mount 160 and cage mount130. When at rest, these capture elements, (lip 133 and screws 137) donot touch food hopper 110. Thus, food hopper 110 is dynamically attachedto cage 102 on top of load cell 153, and presents food 103 to animalspecimen 101.

Operation of food hopper during a meal

[0078] Technically, the exemplary BioDAQ food intake monitoring system100 measures the amount and time of food removed from the food hopper110. Therefore, food hopper 110 is designed to limit the food removed byanimal specimen 101 to food actually consumed by animal specimen 101. Tothis end, access to food is limited so as to minimize food hoarding andspillage, while allowing animal specimen 101 to eat as much as itchooses.

[0079] Animal specimen 101 consumes food 103 by gnawing pieces off ofthe food pellets accessible through food hopper slot 113. Slot 113 isdesigned to be larger than the animal muzzle, but smaller than the foodpellet 103. Small food pieces are removed and immediately eaten. Foodfines generated by gnawing fall on food hopper receiving surface 114 forlater consumption. Gnawing activity is difficult enough to animalspecimen 101 that it gnaws off food chunks only for food consumption,and rarely drops food chunks it has freed.

[0080] While the animal specimen 101 is gnawing at the food pellets 103,food pellets may be forced back and away from slot 113 and out of reachof specimen 101. Food hopper 110 has a groove 118, which allows foodpellets 103 to wedge in place for consumption by animal specimen 101. Asfood pellets in groove 118 are consumed, new food pellets can fall downto replace them. However, pellets 103 may wedge and bridge above groove118, out of reach of specimen 101. This could result in long,unpredictable periods of time when food is not available to specimen101. This is avoided by allowing access to the food through slot 112,which allows specimen 101 to paw and nuzzle food down to groove 118 andslot 113. Although a single horizontal slot 112 is shown, a plurality ofhorizontal slots or vertical slots, a grid, a mesh, or a plurality ofholes may be provided for this purpose. Additionally, the dynamicmounting of food hopper 110 on conical mount 160 allows food hopper 110to shake, sway and tip, and rock quite vigorously, thus reducingbridging of food pellets above groove 118, and assuring their unlimitedpresentation to animal specimen 101.

[0081] Since specimen 101 cannot access food 103 from above food hopper110, there is no fouling of food with urine or feces; nor can animalspecimen 101 use food hopper 110 for nesting.

[0082] The configuration 100 shown in FIGS. 1-3 allows use of pelletizedfood 103. It eliminates food spillage, therefore eliminating the need tocollect food particles and their separation from urine, feces andbedding during food intake analysis. It eliminates fouling of food withurine and feces. And it eliminates the use of food containers fornesting.

[0083] Although a preferred use of the exemplary hopper 110 is forpelletized food, the hopper can also accommodates powdered or granularfood. FIGS. 17A-17C show a variation of the hopper 110′ which may bemore advantageous for use with granular or powdered food. FIG. 17A is acutaway right side elevation view of Hopper 110′ with the right sidewall 120′ removed. FIG. 17B is a cutaway front isometric view of hopper110′ with the front panel 111′ removed. FIG. 17C is a front isometricview of hopper 110′. Hopper 110′ has several features in common with thehopper 110 of FIG. 1. The front lip 115′, screws 117′, wall 119′, sides120′, rear wall 121′, bottom surface 122′, and conical mount 123′ ofhopper 110′ are the same as the respective front lip 115, screws 117,wall 119, sides 120, rear wall 121, bottom surface 122, and conicalmount 123 of FIG. 1.

[0084] Hopper 110′ has three main features which differentiate it fromhopper 110. (1) Hopper 110′ has a pair of baffles 124 which loosen thegranular or powdered food and prevent it from becoming packed or jammedin the hopper 110′. (2) The front face 111′ of hopper 110′ does not havethe slots 112 or 113 that are included in hopper 110 (FIG. 1). (3)Hopper 110′ does not have the rear lip 116 that is included in hopper110. Food falls down from the hopper 110′ directly onto the receivingsurface 114′, where it can be accessed by the animal specimen.

[0085] Referring again to FIGS. 1-4, in addition to solid food, theexemplary system may be used to accommodate liquid. A conventionalliquid bottle having a drinking tube at its bottom end may be insertedinto the hopper, with the drinking tube inserted through the slot 112.

[0086] To operate this food hopper system 100 for manual food intakeanalysis, one need only pre-weigh the full food hopper 110, place it onthe cage mount 130, wait a specified time period, remove the food hopper110, post weigh the food hopper and calculate the food intake as thedifference between the two weights. The inventors have further improvedthis system by automating the measurements, thus allowing unattended,and undisturbed, high resolution (by time) analysis of food intake.

[0087]FIG. 14 shows an optional feature of the feeder 100. Each cagemount 130 may include an optional gate 170. The gate 170 may be manuallyor automatically controlled. FIG. 14 shows an automatically controlledgate 170, which is lowered and raised by a simple linear actuator 172.For automatic control, the actuator 172 is controlled by the CageDAQ700, which is described further below, with reference to FIG. 7.

[0088] Load Cell Assembly with Load Cell/Food Hopper InterfaceDescription The Load Cell Assembly 150 is a device which provides anelectrical signal proportional to the weight of the food hopper 110 andits contents 103.

[0089] This conversion of weight to an electrical signal is performed bythe sensor 153. This sensor 153 is mounted into a housing 151, whichacts as the sensor's mechanical ground, and the weight is applied to themechanically live end of the sensor 153 via the conical mount 160. Toprevent gross overload of the sensor during transport, set-up andhandling; two overload stops, (155 and 156) are attached to the housing.These overload stops 155, 156 limit the deflection of the sensor 153 tokeep it within its elastic limit.

[0090] Electrical power input, signal output and electrical screeningare provided via the connector 162. The attachment of the mountingbracket 130 to the Load Cell Assembly 150 is electrical as well asmechanical, so that both are at the same electric potential. The foodhopper 110 is electrically isolated from the mechanically live end ofthe sensor 153 by sitting on the electrically insulating cone of theConical Mount 160. In this way, any static electrical discharge whichcould disturb the sensor's measurement is minimized (because the foodhopper is not electrically connected to the same electric potential asthe load cell assembly 150 without also producing a mechanical shuntbetween the mechanically live end of the sensor and mechanical ground).

[0091] The conical mount 160, in addition to acting as the mechanicalsupport for the food hopper 110, also allows the food hopper freedom ofmovement and rotation: It allows the food hopper to be “lively”. Becausethe means of detection of the beginning and duration of a feeding eventis the level of stability of the sensor signal, it is important that thefood hopper 110 be free to move. The conical interface 160 also allowsthe food hopper 110 to be lifted (by the animal 101) without applying areverse force to the sensor 153. The Conical Mount 160 applies theweight to the sensor 153 via a spring-loaded plunger 161. The gapbetween the base of the cone 160 and the bottom panel 135 of housing 130can be adjusted such that gross disturbance by the animal 101 appliesforce to the housing 130, not the sensor 153, thereby eliminatingoverload to the sensor.

[0092] The output (FIG. 9) of the load cell assembly 150 is a functionof the applied weight. If the food hopper is undisturbed, the signal issubstantially constant over time (except for thermal noise). If the foodhopper 110 is mechanically disturbed by the animal 101, the signalvaries. By determining the onset of signal variation, it is possible todetermine the start of the animal's feeding. By measuring the length oftime of a disturbance, it is possible to determine the duration of thefeeding. By determining the difference between the sensor signal in thequiescent periods before and after a disturbance, it is possible tomeasure whether any weight is removed from the food hopper 110.

[0093] The exemplary method used to determine the onset of signalvariation is to determine the variance or standard deviation about themean of N samples of the sensor signal, taken at 50 samples/second.Other statistical methods may also be used. Further, the number N may bevaried.

Sensor

[0094] The exemplary sensor 153 is a thin film strain gauged load cell,although any force sensing device could be used, (such as force balancesensors, silicon strain gage sensors, capacitance sensors, quartzsensors, pressure sensors, pressure transducers, etc.). A thin filmstrain gauged load cell 153 is a mechanical flexure device (spring)which has a surface strain proportional to the force applied to it. Aresistive circuit is deposited in intimate contact with the surfaceunder strain in such a way that the strain in the surface is transmittedto the resistive circuit. The resistance of the circuit changes as alinear function of strain, so that changes in resistance may beconverted to a measure of applied force.

[0095] The housing 130 acts both as a mechanical mount and anelectromagnetic screen. The conical mount 160 transfers the dynamicweight of the food hopper and its contents to the load cell whileelectrically isolating the two.

CageDAQ Logic/Functional Description Functional Blocks

[0096]FIG. 7 is a functional block diagram of an exemplary CageDAQmodule 700. One of ordinary skill in the art recognizes that thecomponents listed below are only exemplary in nature, and do not limitthe scope of the invention. Other devices which perform the functionsdescribed below may be substituted as they become available.

[0097] The exemplary CageDAQ module 700 has as its core an 8-bitmicrocontroller 702, which may be, for example, the Intel 80C52. This isa member of the 8051 family, implemented using complementary metal oxidesemiconductor (CMOS) technology for low power consumption, withoutinternal electrically erasable programmable read only memory (EPROM) forprograms. Microcontroller 702 executes instructions from an externalprogram EPROM 702. The program's variable (data) space is a static RAMchip 703.

[0098] In the example, communication with a host computer is handled bya generic RS-485 interface IC 704. RS-485 is an IEEE electrical standardintended for implementing simple networks by serial multidropcommunications. It uses a balanced line (complementary signal linesinstead of a single signal line) to achieve noise immunity. It is goodfor applications requiring moderate (sub-Ethernet) bandwidth.

[0099] Exemplary light emitting diodes (LEDs) 705 a and 705 b are simplevisual status indicators. LED 705 a is a multipurpose status indicator.The microcontroller 701 can make LED 705 a blink at different rates toindicate different states in the data reduction algorithm. LED 705 b isnormally in the ON state to indicate that power is on. LED 705 b blinksoff briefly when the CageDAQ 700 is transmitting data, then returns tothe ON state.

[0100] Data collection is achieved by the Crystal Semiconductor CS5516A/D converter 706. It is optimized for strain gauge (bridge) signalconditioning with no signal amplification required, and has 16-bitresolution (to 1 part in 65536). The CS5516 as configured in the CageDAQsamples the WeighDAQ load cell strain gauge at a rate of 50 16-bitsamples/second.

[0101] Another integrated circuit (IC), the Dallas Semiconductor DS1307707 provides two functions: a real-time clock or RTC 707 a andnon-volatile RAM or NVRAM 707 b, each distinct enough to be consideredseparate functions. The RTC 707 a provides a stable, accurate time basefor marking the beginning of feeding events and measuring theirduration. The NVRAM 707 b is used for storing measurement parameters andthe most recent feeding event. A small battery 708 maintains thecontents of the NVRAM 707 b and keeps the RTC running when main systempower is off. NVRAM 707 b provides the ability to locally access thestorage medium.

[0102] A voltage regulator 709 maintains appropriate supply voltage toall IC's and provides the excitation voltage to the load cell bridge.

Statistical Data Reduction Method

[0103]FIGS. 8A and 8B are flow chart diagrams showing the CageDAQStatistical Data Reduction Algorithm.

Measurement Parameters

[0104] The CageDAQ 700 maintains a set of measurement parametersarchived in its NVRAM 707 b, which are retrieved to data memory when theCageDAQ program begins executing. These parameters are initiallydownloaded by the host PC 1102 but once a set of measurement parametersare in place, a CageDAQ 700 can execute its measurement algorithmwithout any external control. The measurement parameters are: S1 =Number of samples to be taken per mean and standard deviation, beforefeeding activity is detected. S2 = Number of samples to be taken permean and standard deviation, while feeding activity is detected. Noise =Threshold value of standard deviation () below which a mean isconsidered valid. Trip = Threshold value of standard deviation () abovewhich is considered eating activity. IMT = Inter-Meal Time: A period inseconds defining the minimum interval between meals.

Mean, Standard Deviation, Noise and Trip

[0105] Summarizing the algorithm, the CageDAQ 700 continually collectsS_(n) samples as a group, where n=1 or 2 depending on whether feedingactivity has been detected. After each S_(n) samples, the CageDAQ 700computes mean (m) and standard deviation ( ) of the S samples.

[0106] A single mean m is an average indication of hopper weight.However, the CageDAQ 700 maintains a more stable indication of foodhopper weight: M, which is an average of the last ten valid values of m.This is equivalent to (10*S_(n)) individual weight readings averagedtogether. The use of M allows the CageDAQ 700 to establish an extremelystable baseline weight. As described below, a mean m may be excludedfrom the larger running average M if its associated variance or standarddeviation is too high.

[0107] Standard Deviation is a Measure of Signal Quality.

[0108] In the absence of a laboratory animal, would be some very lowvalue, changing very little from one set of samples to the next. With ananimal in the cage, varies depending on what the animal is doing. Thevalue of tells the CageDAQ 700 three things, depending on its value:

[0109] If is below the Noise threshold, the animal is quiescent and theCageDAQ 700 considers the current value of m to be valid. It can add mto the running average M of food hopper mean weight. In the graph of (t)in FIG. 9, this corresponds to the periods T₀-T₁, T₂-T₃, and beyond T₆.

[0110] If is above Noise but below Trip, there is some animal activitybut not enough to be considered feeding. More importantly, the value ofm is not considered valid because the variation of samples within S_(n)is too high. The current m is not added to M, the running average ofmean food hopper mean weight. In the graph of (t) in FIG. 9, thiscorresponds to the periods T₁-T₂, T₃-T₄, and T₅-T₆.

[0111] If is greater than the Trip threshold, the CageDAQ 700 recognizesthat feeding activity is occurring. The value of m is still not validfor updating a weight baseline, but this does not matter. While is thishigh, the CageDAQ 700 does not monitor m at all. In the graph of (t) inFIG. 9, this corresponds to the period T₄-T₅.

[0112] Referring to FIGS. 8A and 8B, the system is powered up at step801. At power up or after reset, which are equivalent conditions, theCageDAQ microcontroller 701 retrieves measurement parameters from NVRAM707 b (step 802). The NVRAM 707 b, as shown in FIG. 7, is a separatebattery-backed archival memory which is separate from themicrocontroller's data memory 703. Measurement parameters are protectedby a checksum, so the CageDAQ 700 can determine whether they have becomecorrupted and re-initialize them if necessary. An initial baselineweight M is established (step 803) by averaging together 200 consecutiveweight readings regardless of standard deviation, in order to establishsome well-smoothed initial weight value.

[0113] At step 804, the main loop of the algorithm begins with theCageDAQ 700 taking S1 consecutive weight readings (step 804) andcalculating the associated ml and 1. Then 1 is compared to Trip (step805). If 1 is greater than Trip, then the CageDAQ 700 moves to step 808,described in the next paragraph. If is not greater than Trip, 1 is thencompared to Noise (step 806). If 1 is less than Noise, then ml isconsidered valid and used to update M (step 807). Then the CageDAQ 700returns to step 804. If 1 is not less than Noise, the CageDAQ 700returns to step 804 without updating M.

Animal Feeding

[0114] If is greater than Trip at step 805, a possible feeding event hasbegun. At step 808, the current value of M is stored as baseline B. Atime stamp T_(start) with the current time and date is obtained from thereal-time clock, to mark the beginning of the event. The sample size nowchanges to S2. At step 809, S2 samples are obtained and 2 is calculated.(Mean is also calculated but while s is higher than Noise the mean valueis not used.) 2 is compared to Trip (step 810). If 2 is greater thanTrip, then the animal feeding activity is continuing and the CageDAQ 700returns to step 809. If 2 is NOT greater than Trip, then the feedingevent may be over. A current timestamp is obtained from the RTC andstored (step 811) as a possible end-of-event, T_(end).

Inter-Meal Time

[0115] Now the CageDAQ 700 is in the inter-meal interval, of durationset by the inter-meal time (IMT) parameter. Another S2 samples are takento calculate 2 (step 812). If 2 exceeds Trip (step 813), feeding is onceagain active within the same meal and control returns to (step 809). If2 does NOT exceed Trip, current time is again obtained from the RTC 707a and stored as Tnow. Elapsed time since the possible end of event(Tnow-Tend) is calculated and compared to IMT value (step 814). If theelapsed time has not exceeded the IMT, control returns to step 812 toevaluate another 2. If elapsed time does exceed IMT, the program moveson to establish a new post-meal baseline.

Post-Meal Baseline

[0116] The program returns to using S1 samples. The program attempts toobtain ten good readings, or ten good means, for which is less thanNoise, to set the new value of M. At step 815, the program initializestwo counters, ITER and GRC, to zero. ITER is used as an emergency exitfrom the loop in case good readings are not obtained. GRC is the countof good readings. Now the program takes S1 samples, calculating 1 andml. The program increments ITER (step 816). The program compares 1 toTrip (step 817). If 1 is greater, the program goes back to (step809)—the same meal is once again in progress. If 1 is not greater, theprogram determines whether M can be updated. At step 818, if 1 is lessthan Noise, the program jumps to step 819, where M is updated with thismean, and Good Reading Count (GRC) is incremented.

[0117] What if 1 is NOT Less Than Noise?

[0118] A worst-case scenario is that the animal finishes a meal andthen, perhaps, falls asleep with its chin resting on the hopper, or someother condition occurs which causes 1 to be greater than Noise. If theprogram would require 1 to be less than Noise in order to update the newbaseline, the program might enter an endless loop. So, if more than Imaxiterations of the loop are executed (starting at step 816) (ITER exceedsImax), then the program begins accepting ml values for M even if thestandard deviation exceeds Noise. That is the purpose of the ITERcounter: to keep the algorithm from getting stuck updating the baseline.

[0119] At step 820, when M is the average of ten m's, the new baselineweight has been established. The program finalizes the meal informationat step 821. The duration of the feeding and the amount of food consumedare stored. The amount of food equals B-M (the baseline stored back upin step 808 minus the current baseline). This meal event or vector isstored in NVRAM 707 b, so that it is retained and reported even if thepower supplied to CageDAQ 700 is interrupted.

[0120] The exemplary method is described above in the context ofmonitoring animal feeding behavior. The exemplary apparatus can also beused to monitor other animal behaviors. The combination of the conicallymounted hopper 110 and the load cell 150 is very sensitive to vibrationsin the animal's cage 102. The hopper 110 may even amplify thevibrations. In any event, the vibration patterns collected and recordedby the exemplary apparatus can be amplified (if necessary) and analyzedfor their harmonic content. Based on the harmonic content of thevibration, it is possible to determine what type of behavior the animalis performing (e.g., feeding, walking, running on a treadmill, etc.)Further, if the sensor is sufficiently sensitive, it may be possible todetect and record the animal's breathing rate based on thesemeasurements.

[0121] If non-feeding behaviors are to be monitored, it may be desirableto optionally include a second sensor coupled to the animal's cage, todetect cage motion. The data from this second sensor may be analyzed ina manner similar to that described above.

[0122] Optionally, additional sensors may be added, and data can becaptured and correlated with the data from load cell 150. As notedabove, the system can capture data characterizing the environment, suchas relative humidity, temperature, light, noise, and the like. Thesedata may be correlated with the data characterizing the animal'sactivity or rest behavior signature, its body weight, breathing rate,and heart rate.

[0123] Optionally, data from additional sensors may also be correlatedwith the type of feeding regimen (e.g., whether ad libitum orrestricted).

Multiple Cage Configurations

[0124] An advantageous feature of the present invention is the abilityto control and monitor a plurality of animal feeders 100 remotely. FIG.10 shows is a block diagram of a 12 cage rack 1000, through which aplurality of feeders 100 are controlled.

[0125] Another aspect of the invention is a system and method forcontrolling feeding of a plurality of animals. A plurality of animalfeeders 100 are provided. Each feeder 100 has a respective gate 170(FIG. 14). Each gate 170 has an open position and a closed position,such that a respective animal 101 can access food 103 from a respectivefeeder hopper 110 when the gate 170 of that feeder is open, and therespective animal cannot access food from a respective feeder when thegate of that feeder is closed. A processor 701 (FIG. 7) determines anamount of food removed from each respective feeder 110 by the respectiveanimal that has access to that feeder. A plurality of actuators 172automatically open and close each gate 170 in response to controlsignals 173.

[0126]FIG. 16 is a flow chart diagram of the steps executed by theprocessor 701. At step 1602, the processor 701 receives a signalindicating that either a first operating mode, a second operating mode,or a third operating mode is selected. At step 1606, the processor 701generates and transmits the control signals 173 to each of the pluralityof actuators 172 so as to provide access to each animal 101 for a commonlength of time, if the first operating mode is selected. Then, at step1612, the gate 170 is closed. At step 1608, the processor 701 generatesand transmits the control signals to each of the plurality of actuators172, so as to provide food access to each animal until a common amountof food is removed from each feeder, if the second operating mode isselected. Then at step 1614, the gate is closed. At step 1610, theprocessor generates and transmits the control signals to each of theplurality of actuators 172, so as to provide food access to each animaluntil either a common length of time passes or a common amount of foodis removed from each feeder, whichever occurs first, if the thirdoperating mode is selected. Then at step 1616, the gate is closed.

[0127] In FIG. 16, the common amount of time may be a fixed,predetermined value, or it may be set dynamically when a first specimencompletes a meal. Similarly, the common amount of food may be a fixed,predetermined value, or it may be set dynamically when the firstspecimen completes a meal.

BioDAQ Messaging Overview

[0128]FIG. 11 is a block diagram showing a plurality of cage clusters1000 connected to a BioDAQ host 1102. A plurality of BioDAQ hosts 1102may in turn be connected to a network 1111. The hosts 1102 communicateat the application level through BioDAQ Messaging.

[0129] BioDAQ Messaging includes a set of messaging facilities thatallow a BioDAQ Host Computer 1102 to communicate effectively withCageDAQs 700 and with other BioDAQ Host Computers 1102. This may beaccomplished using two types of networking protocol: (1) CageNetNetworking, in which local message primitives are passed between aBioDAQ Host Computer 1102 and its attached CageDAQs 700, and (2) BioDAQHost Networking, in which remote message primitives and remotehost-level messages are passed between BioDAQ Hosts 1102 on top ofInternet protocol user datagram protocol (UDP) and Internet Protocol(IP).

[0130] BioDAQ Host Networking allows BioDAQ Host Applications onindividual BioDAQ Host Computers 1102 to exchange messages over anetwork 1111. This maybe for two purposes:

[0131] (a) Information sharing. Hosts can share experiment informationwith each other about feeding events on their respective CageNets.

[0132] (b) Control. One host can control others, thereby acquiringcontrol over CageNets other than its own.

[0133] There are two primary advantages of BioDAQ Host Networking.

[0134] (a) Large scale collaboration. A networked BioDAQ host computercan directly compare feeding experiment data with other networked BioDAQHost Computers down the hall or on the other side of the world.

[0135] (b) Experiment management. If a researcher has several differentexperiments running in different rooms, each with its own BioDAQ HostComputer, a single Host Computer can remotely control and monitor theothers, allowing the user to concentrate data gathering and analysis inone place rather than collecting information from several differentlocations.

[0136]FIG. 11 shows the division between CageNets 1101 and othernetworks 1111 to which a BioDAQ Host Computer 1102 may be coupled. ACageNet 1101, to the left of the dividing line 1103, is a set ofclusters 1000 of CageDAQs 700. The CageDAQs 700 are connected to a hostcomputer 1102 by RS-485 cable and exchanging information using a set ofproprietary message formats. It is a simple, robust sensor bus that isintended to operate without requiring a pre-existing networkinfrastructure. Larger computer networks 1111—to the right of thedividing line 1103—may be part of a LAN, WAN, or a global communicationsnetwork (e.g., the Internet). The BioDAQ Host Computer 1102, if part ofsuch a network 1111, has a NIC (Network Interface Card) such as“ETHERNET™”, and may use networking protocols such as Novell Netware™,Microsoft LAN Manager™, or simply TCP/IP, the lingua franca of theInternet. Such computers 1102 may use several different protocolssimultaneously. The CageDAQs 700 are simple devices that do not supportInternet protocols. However, BioDAQ Host Computers 1102 runningoperating systems such as Windows 95 and MacOS do support Internetprotocols. Therefore, an appropriate way to integrate BioDAQ CageDAQs700 and CageNets 1101 into a larger network 1111 is by networking thehost computers 1102 to which they are connected.

Security

[0137]FIG. 11 shows that, for networked BioDAQ hosts 1102, there may beexternal security, such as firewalls, screening routers, and the like.The exemplary BioDAQ application 1104 implements its own internalsecurity provisions. The BioDAQ Host Application 1104 allows for twoforms of security, configurable by the system administrator:

[0138] (1) Access Control: Authentication andAuthorization—Authentication means proving who the user is;authorization means determining what the user is allowed to do.Authentication keys may be used to lock out remote hosts, unless theyprovide a password. The authorization configuration determines whichremote BioDAQ hosts 1102, once authenticated, can have read and/or writeaccess to the local BioDAQ Host Application 1104 (write accesseffectively means that a remote host can take over control of the localapplication). Both of these protections may be overridden if desired,relying instead on external security.

[0139] (2) Encryption—A variety of forms of encryption may be used toprotect the contents of messages being passed between BioDAQ Hosts 1102.This is important if valuable experimental data is being passed back andforth over a non-secure network, such as the Internet. Encryption mayalso be disabled if the system administrator wishes.

Layering of Host Communication

[0140]FIG. 12 is a diagram showing how BioDAQ host computer messagingmaps to the OSI 7-layer model of computer networks. Layers 4 and below(1202, 1203, and 1204) are supported by the underlying operating system1208, which may be MacOS, Windows 95, Windows 98, UNIX, of Linux, forexample. Layers 5 to 7 (1205, 1206 and 1207) are implemented within theBioDAQ Host Application 1104.

[0141] Layer 7, the Application Layer 1207, processes the contents ofBioDAQ Host Messages. Application layer 1207 also handles authenticationand authorization, controlled by a configuration file 1210.

[0142] Layer 6, the Presentation Layer 1206, handles encryption, ifenabled by the configuration file 1210 (which is defined by the systemadministrator).

[0143] Layer 4—The exemplary Transport Layer 1204 is based on UDP (UserDatagram Protocol) rather than TCP (Transport Control protocol). Thereason is that TCP requires that two hosts 1102 establish and maintain anetwork connection between themselves to send information. The resourceoverhead of this may be unacceptably high when many hosts 1102 areinvolved. UDP, on the other hand, is connectionless and, therefore, usesmuch lower overhead, making it more feasible for many BioDAQ Hosts 1102to communicate with each other simultaneously.

Host-to-Host Messaging

[0144]FIG. 13 is a data flow diagram showing the three types of messageshandled by BioDAQ Host Applications 1104. There are local messageprimitives 1301, remote message primitives 1303, and remote host-levelmessages 1305.

[0145] Message primitives 1302 are messages exchanged between a HostComputer 1102 and a CageDAQ 700. They may originate locally or remotely.

[0146] Local message primitives 1301 are the building blocks of theCageNet protocol. They are messages such as “Measure weight” or “Reportlast feeding event” which pass between the Host computer 1102 andCageDAQs 700 over the CageNet 1101.

[0147] Remote message primitives 1303 are message primitives that comefrom a remote Host Computer 1102 rather than the local one. Stripped ofnetwork header information 1106, remote message primitives 1303 arepassed on to and processed by CageDAQs 700 over the CageNet 1101 in thesame manner as local message primitives 1302.

[0148] Remote host-level messages 1305 do not contain any messageprimitives 1302 at all; they are higher-level messages which do notinvolve any CageDAQ communication. They travel from host to host but arenot transmitted over a CageNet 1101. Examples of such messages are “Whatis your CageNet population (what CageDAQs are present at whataddresses)?” and “Send me all of your retrieved feeding events”.

[0149] Based on this architectural model, one of ordinary skill in theart of application design could readily construct program code toimplement the host networking communications.

[0150] Although the invention has been described in terms of exemplaryembodiments, it is not limited thereto. Rather, the appended claimshould be construed broadly, to include other variants and embodimentsof the invention which may be made by those skilled in the art withoutdeparting from the scope and range of equivalents of the invention.

What is claimed is:
 1. An animal feeder, comprising: a hopper forstoring pieces of food, a bottom portion of the hopper having a firstopening which is accessible by an animal, the first opening beingsmaller than one of the pieces of food, but large enough for the animalto gnaw the food through the first opening, the hopper having areceiving surface adjacent to the first opening, the receiving surfacepositioned to receive fallen gnawed food and hold the fallen gnawed foodin a position accessible by the animal for eating; and a mountingbracket on which the hopper is seated, the mounting bracket beingdirectly attachable to a container in which the animal is housed.
 2. Ananimal feeder according to claim 1 , wherein the hopper has at least onesecond opening above the first opening, the second opening being smallerthan the first opening, the second opening being accessible by theanimal for pawing or nuzzling the food so that food falls through theopening of the hopper.
 3. A feeder according to claim 1 , wherein thefirst opening is a slot having a width that is less than a largestdimension of a smallest area projection of one of the pieces of food. 4.A feeder according to claim 1 , wherein the hopper has a bottom mountingsurface, and the mounting bracket includes a self-centering mount, onwhich the bottom surface is removably seated.
 5. A feeder according toclaim 4 , wherein the hopper has a front opening, which receives aprojecting body, to limit upward motion of the feeder.
 6. A feederaccording to claim 4 , further comprising a bottom plate attached to thehopper, the bottom plate adapted to engage a stop, so as to limit upwardmotion of the feeder.
 7. A feeder according to claim 4 , furthercomprising means for limiting vertical and horizontal motion androtation of the hopper.
 8. A feeder according to claim 4 , wherein theself-centering mount transmits a downward force from the bottom surfaceto a load cell.
 9. A feeder according to claim 4 , wherein theself-centering mount is an approximately conical mount.
 10. A feederaccording to claim 1 , wherein the mounting bracket has a lip whichpartially covers the receiving surface of the hopper, the lip beingshaped so as to provide a surface on which the animal can rest or lean,to reduce leaning by the animal on the hopper.
 11. A feeder according toclaim 1 , wherein: the hopper has at least one second opening above thefirst opening, the second opening being smaller than the first opening,the second opening being accessible by the animal for nuzzling or pawingfood; the hopper has an approximately conical bottom surface; themounting bracket includes an approximately conical mount, on which theapproximately conical bottom surface is removably seated; theapproximately conical mount transmits a downward force from theapproximately conical bottom surface to a load cell; the mountingbracket has a lip which partially covers the receiving surface of thehopper, the lip being shaped so as to provide a surface on which theanimal can rest or lean; the mounting bracket includes a stop; thehopper has a front opening which receives the lip of the mountingbracket, and a bottom plate adapted to engage the stop of the mountingbracket, so as to limit upward motion of the feeder; and the mountingbracket has front and rear vertical surfaces for limiting horizontalmotion and rotation of the feeder.
 12. An animal feeder according toclaim 1 , wherein: the mounting bracket is mountable to a standardlaboratory animal cage; the hopper and mounting bracket substantiallyreduce an amount of food that can spill from the hopper; the hopper hasa shape which prevents contamination by animal urine or feces; and theshape of the hopper allows the animal to perform normal animal feedingbehavior.
 13. An animal feeder, comprising: a hopper for storing piecesof food, the hopper having a first opening, through which the pieces offood pass for consumption by the animal; a bottom mounting surfaceattached to the hopper; and a self-centering mount, on which the bottommounting surface is removably seated, wherein the self-centering mountallows freedom of movement and freedom of rotation by the hopper withina set of predetermined limits, and the bottom mounting surface returnsto a centered position after a movement or rotation, by operation ofgravity.
 14. A feeder according to claim 13 , wherein the self-centeringmount transmits a downward force from the bottom mounting surface to aload cell.
 15. A feeder according to claim 14 , wherein theself-centering mount does not transmit an upward force from the bottommounting surface to the load cell, thereby avoiding stress reversaleffects.
 16. A feeder according to claim 14 , further comprising amounting bracket which includes the self-centering mount on which thehopper is removably seated, the mounting bracket being directlyattachable to a container in which the animal is housed.
 17. An animalfeeder according to claim 13 , further comprising means for allowing theanimal to eat the pieces of food which have passed through the firstopening of the hopper, while preventing the animal from removing a wholepiece of food from the feeder.
 18. A feeder according to claim 13 ,further comprising one or more surfaces forming a hollow, the hollowcoupled to receive the pieces of food from the first opening of thehopper, the hollow having a front opening which is accessible by theanimal, wherein the front opening of the hollow receives a projectingbody, to limit motion of the feeder in an upward direction.
 19. A feederaccording to claim 13 , further comprising a bottom plate attached tothe hopper, the bottom plate adapted to engage a stop, so as to limitupward motion of the feeder.
 20. An animal feeder, comprising: a hopperfor storing pieces of food, the hopper having a first opening, throughwhich the pieces of food pass for consumption by the animal; aself-centering mount, on which the hopper is removably seated, theself-centering mount transmitting a downward force from the hopper to ameasuring device, wherein the self-centering mount does not transmit anupward force or moment from the hopper to the measuring device.
 21. Ananimal feeder according to claim 20 , wherein the measuring device isload cell having a sensor for measuring a change in weight or mass, thesensor being from the group consisting of a force balance sensor, asilicon strain gage sensor, a capacitance sensor, a quartz sensor, apressure sensor, a pressure transducer, a bonded strain gage load celland the like.
 22. An animal feeder according to claim 20 , wherein theself-centering mount allows freedom of movement and freedom of rotationby the hopper within a set of predetermined limits.
 23. A feederaccording to claim 22 , further comprising a mounting bracket whichincludes the self-centering mount on which the hopper is removablyseated, the mounting bracket being directly attachable to a container inwhich the animal is housed.
 24. A feeder according to claim 20 , furthercomprising a bottom plate attached to the hopper, the bottom plateadapted to engage a stop, so as to limit upward motion of the feeder.25. A system comprising: a hopper for storing food for consumption by ananimal; a sensor which measures a force applied to the hopper andprovides an output signal; a processor for calculating an average weightof the hopper based on the output signal of the sensor and a statisticalmeasure of the output signal other than the average weight; saidprocessor identifying a beginning and an end of a feeding based on thestatistical measure; and said processor calculating an amount of thefood consumed by the animal during the feeding based on the averageweight before the beginning of the feeding and the average weight afterthe end of the feeding.
 26. A system according to claim 25 , wherein thestatistical measure is one of the group consisting of a variance, astandard deviation, a first derivative of the output signal with respectto time and a second derivative of the output signal with respect totime.
 27. A system according to claim 25 , wherein the calculatedaverage weight is based only on measurements of the weight of the hopperfor which the statistical measure is less than a first threshold.
 28. Asystem according to claim 27 , wherein the identifying means determinesthe beginning and the end of the feeding based on times at which thestatistical measure crosses a second threshold, the second thresholdbeing greater than the first threshold.
 29. A system according to claim28 , wherein a period including four consecutive crossings of the secondthreshold are identified as belonging to a single feeding, if a lengthof time between the second and third ones of the four consecutivecrossings is less than a predetermined minimum length of time.
 30. Asystem according to claim 25 , wherein the statistical measure is one ofthe group consisting of a variance, a standard deviation, a firstderivative of the output signal with respect to time and a secondderivative of the output signal with respect to time.
 31. A systemaccording to claim 25 , wherein: the processor is automatic forproviding unattended monitoring; and the processor is capable of runningon battery power.
 32. A system according to claim 25 , wherein: theprocessor receives an input value representing a monitoring frequency,and reads the output signal of the sensor in accordance with the inputvalue.
 33. A system according to claim 25 , wherein the hopper engages amounting bracket, and the mounting bracket is connected to a cage inwhich the animal is housed, and the sensor is sufficiently sensitive todetect when the animal is moving within the cage.
 34. A system accordingto claim 25 , further comprising a storage device for storing themeasured data from the sensor, and for storing data calculatedtherefrom, the storage device being accessible at a location proximateto the cage of the animal.
 35. A method for calculating an amount offood consumed by an animal, comprising the steps of: (a) measuring aforce applied to a food hopper and providing an output signalrepresenting the force; (b) calculating an average weight of the hopperbased on the output signal, and a statistical measure of the outputsignal other than the average weight; (c) identifying a beginning and anend of a feeding based on the statistical measure; and (d) calculatingan amount of the food consumed by the animal during the feeding based onthe average weight before the beginning of the feeding and the averageweight after the end of the feeding.
 36. A method according to claim 35, wherein the statistical measure is one of the group consisting of avariance, a standard deviation, a first derivative of the output signalwith respect to time and a second derivative of the output signal withrespect to time.
 37. A method according to claim 35 , wherein the forceincludes the weight of the hopper plus the weight of the food.
 38. Amethod according to claim 35 , wherein step (a) includes mechanicallytransmitting the force to a load cell.
 39. A method according to claim35 , wherein the calculated average weight is based only on calculationsof the average weight of the hopper for which the statistical measure isless than a first threshold.
 40. A method according to claim 39 ,wherein step (c) includes determining the beginning and the end of thefeeding based on times at which the statistical measure crosses a secondthreshold, the second threshold being greater than the first threshold.41. A method according to claim 40 , wherein a period including fourconsecutive crossings of the second threshold are identified asbelonging to a single feeding, if a length of time between the secondand third ones of the four consecutive crossings is less than apredetermined minimum length of time.
 42. A method according to claim 41, wherein the statistical measure is one of the group consisting of avariance, a standard deviation, a first derivative of the output signalwith respect to time and a second derivative of the output signal withrespect to time.
 43. A method according to claim 35 , further comprisingthe step of preventing the force from reaching a negative value.
 44. Astorage medium encoded with machine-readable computer program code forcausing a processor to calculate an amount of food consumed by ananimal, the medium comprising: (a) means for causing the processor toreceive a signal representing a force applied to a food hopper; (b)means for causing the processor to calculate an average weight of thehopper based on the signal. and a statistical measure of the signalother than the average weight; (c) means for causing the processor toidentify a beginning and an end of a feeding based on the statisticalmeasure; and (d) means for causing the processor to calculate an amountof the food consumed by the animal during the feeding based on theaverage weight before the beginning of the feeding and the averageweight after the end of the feeding.
 45. A storage medium according toclaim 44 , wherein the statistical measure is one of the groupconsisting of a variance, a standard deviation, a first derivative ofthe output signal with respect to time and a second derivative of theoutput signal with respect to time.
 46. A storage medium according toclaim 44 , wherein the force includes the weight of the hopper plus theweight of the food.
 47. A storage medium according to claim 44 , whereinthe calculated average weight is based only on calculations of theaverage weight of the hopper for which the statistical measure is lessthan a first threshold.
 48. A storage medium according to claim 47 ,wherein means (c) causes the processor to determine the beginning andthe end of the feeding based on times at which the statistical measurecrosses a second threshold, the second threshold being greater than thefirst threshold.
 49. A storage medium according to claim 48 , whereinmeans (c) causes the processor to identify a period including fourconsecutive crossings of the second threshold as belonging to a singlefeeding, if a length of time between the second and third ones of thefour consecutive crossings is less than a predetermined minimum lengthof time.
 50. A storage medium according to claim 49 , wherein thestatistical measure is on e of the group consisting of a variance and astandard deviation.
 51. A system for controlling feeding of a pluralityof animals, comprising: a plurality of animal feeders, each feederhaving a respective gate, the gate having an open position and a closedposition, such that a respective animal can access food from arespective feeder when the gate of that feeder is open, and therespective animal cannot access food from a respective feeder when thegate of that feeder is closed; a processor for determining an amount offood removed from each respective feeder by the respective animal thathas access to that feeder; a plurality of actuators for automaticallyopening and closing each gate in response to control signals; theprocessor having means for receiving a signal indicating that either afirst operating mode, a second operating mode, or a third operating modeis selected; the processor generating and transmitting the controlsignals to each of the plurality of actuators so as to provide access toeach animal for a common length of time if the first operating mode isselected; the processor generating and transmitting the control signalsto each of the plurality of actuators so as to provide food access toeach animal until a common amount of food is removed from each feeder,if the second operating mode is selected; the processor generating andtransmitting the control signals to each of the plurality of actuatorsso as to provide food access to each animal until either a common lengthof time passes or a common amount of food is removed from each feeder,whichever occurs first, if the third operating mode is selected.
 52. Asystem according to claim 51 , wherein the common length of time is apredetermined fixed length of time, and the common amount of food is apredetermined fixed amount of food.
 53. A system according to claim 52 ,wherein the processor generates and transmits control signals to a firstone of the actuators to provide a first animal access to the food,either: (a) until a length of time passes, which is equal to a durationof a feeding by a specific second animal; or (b) until the first animalremoves as much food from the feeder as is removed by the second animal;or (c) until the earlier of (a) or (b) occurs.
 54. A system according toclaim 52 , further comprising: the processor generates and transmits thecontrol signals to control food access based on any of the groupconsisting of: time of day, meal length, meal size, cumulative foodintake from a previous point in time, light, animal activity, noise,temperature, consumption parameters, or other user defined variables,wherein the processor is capable of controlling the actuating meansindividually for each cage, or controlling all of the feeders centrally.55. A system according to claim 52 , wherein: at least two of the animalfeeders are located remotely from one another, and each animal feederhas a respective processor capable of determining the amount of foodremoved from the corresponding feeder and generating and transmittingthe first, second and control signals to control access to thecorresponding feeder, and the processors are connected to one anothervia a communications network.
 56. An animal monitoring systemcomprising: a plurality of cage controllers, each cage controller havinga respective processor and a storage device coupled to the processor,each cage controller receiving and storing sensor data from a sensorthat collects sensor data from a respective animal specimen, each cagecontroller calculating statistics from the sensor data; and a local hostcomputer to which each of the plurality of cage controllers is coupled,the local host computer being capable of issuing commands to each of thecage controllers to control collection of the sensor data.
 57. Theanimal monitoring system of claim 56 , wherein each cage controllerstores in the respective storage device thereof computer program codethat causes the processor thereof to calculate statistics that include avariance or standard deviation or a first or second derivative from thesensor data, and causes the processor to identify animal activity basedon the calculated statistics.
 58. The animal monitoring system of claim57 , wherein the identified activity is feeding.
 59. The animalmonitoring system of claim 56 , wherein the system further comprises aremote host computer that is located remotely from the local hostcomputer, the remote host computer transmitting messages to the localhost computer via a communications network, the remote host computercommanding the plurality of cage controllers via the messages.
 60. Theanimal monitoring system of claim 59 , further comprising a group ofcage controllers coupled to remote host computer, wherein the local hostcomputer transmits sensor data from the plurality of cage controllers tothe remote host computer, and the remote host computer includes meansfor combining sensor data from the plurality of cage controllers and thegroup of cage controllers.
 61. The animal monitoring system of claim 59, wherein the local and remote host computers exchange messages witheach other via a global communications network.
 62. The animalmonitoring system of claim 56 , wherein at least one of the cagecontrollers includes: a program memory for storing programs; a mainmemory for storing data being used by the processor; and a non-volatilememory for storing sensor data and calculated data.
 63. The animalmonitoring system of claim 62 , wherein: the processor is amicrocontroller; the program memory is an electrically erasableprogrammable read only memory; and the at least one cage controllerfurther comprises: an analog-to-digital converter for converting a rawsensor signal to digital sensor data that are processed by themicrocontroller, and an RS-485 interface that allows the microcontrollerto communicate with the local host computer.